import java.io.Serializable;

/**
 * 
 * @author Interactive Syllabus
 * 
 *         This abstract class contains memory operations so actions performed on a Map are stored for the lifetime of the user running the program.
 * 
 */
public abstract class MapMemory implements Serializable
{
    private static final long serialVersionUID = 514370101935142614L;
    protected Object value;
    protected MapPanel enclosingPanel;

    public MapMemory(Object object, MapPanel enclosingPanel)
    {
	this.value = object;
	this.enclosingPanel = enclosingPanel;
    }

    @Override
    public String toString()
    {
	return this.getClass().getName();
    }

    public abstract void undo();

    public abstract void redo();
}
